This page last changed on Oct 02, 2006 by juanca.

Alfabeto

Un alfabeto o vocabulario es un conjunto finito, no-vacío de símbolos (objetos atómicos o indivisibles).

Los alfabetos se denotan con una letra griega, usualmente Σ (Sigma).

Ejemplos

Alfabeto de dígitos decimales: Σ = {0,1,2,3,4,5,6,7,8,9}
Alfabeto de dígitos binarios: Β = {0,1}
Alfabeto de los caracteres: Α = {a, b,...z, A,...Z, ?, !...,*,$}

Cadena

Una cadena ω (también palabra, frase o sentencia) es una sucesión finita de símbolos, sobre un alfabeto Σ.

Una cadena es

ω = s 1 s 2... s n donde s 1,s 2,... s n ∈ Σ
y el símbolo s i 1 ≤ i ≤ n, ocurre en la posición i de la cadena.

Cadena Vacía

Por convención, ε denota la cadena vacía (la cadena que no tiene símbolos).

Ejemplos

Si Β = {0,1}, son cadenas sobre Β:

α1 = 0101
α2 = 1111
α3 = 0111000
α4 = ε

Operaciones sobre Cadenas

Sean dos cadenas sobre el alfabeto Α

ω=a 1,a 2,... a n y η=b 1,b 2,... b m a i,b j ∈ Α

Longitud de una cadena:

|ω| denota la longitud de la cadena ω

Igualdad

ω=η si |ω|=|η| y (∀i: i 1 ≤ i ≤ |ω|: a i=b i)

Reversa

ωR denota la reversa de la cadena ω
ωR = a n, a n-1,... a 2, a 1

Concatenación

ω⋅η denota la concatenación, la cual consiste en la en la secuencia de símbolos de ω seguidos de los de η
ω⋅η = a 1,a 2,... a n, b 1,b 2,... b m

Exponenciacion

ωk denota la concatenación de ω con si misma k-1 veces
ω0 = ε, la Cadena vacía
ωkk-1⋅ω

Ejemplos

A continuación se calculan algunas operaciones para las cadenas α1, α2, α3, y α4 del ejemplo dado en la definición de cadenas:

Longitud
  • 1| = |0101| = 4
  • 4| = |ε| = 0
Reversa:
  • α1R = 1010
Concatenación
  • α1⋅α2 = 01011111
  • α2⋅α4 = 1111
  • α2⋅α2 = 11111111
Potencia
  • α23 = α2⋅α2⋅α2 = 111111111111
  • α14 = 0101010101010101

Clausura

Definimos Σ*, la Clausura sobe Σ, como el conjunto de todas las posibles cadenas finitas sobre un Alfabeto Σ. Se conoce también como Clausura de Kleene, se denota como Σ*, y se define así:

εΣ* ; la cadena vacía pertenece a la clausura
a ∈ Σ ⇒ aΣ* _; todo elemento en Σ pertenece a la clausura
ω, η ∈ Σ ⇒ ω⋅ηΣ* ; la concatenación de cualquier par de elementos en la clausura también pertenece a la clausura

Formalmente, la clausura constituye un monoide sobre el conjunto Σ y la operación de concatenación.

Otras definiciones útiles

Definimos:

  • Σk como todas las cadenas sobre Σ de longitud k:
    Σk = ω ∈ Σ*, |ω| = k
  • Σ+ como todas las cadenas sobre Σ de longitud mayor o igual a uno:
    Σ+ = Σ* - {ε}

Lenguaje

Un lenguaje formal L sobre un Alfabeto Σ es un subconjunto de Σ* (la Clausura sobre Σ). Es decir, un lenguaje L es cualquier conjunto de cadenas finitas sobre el Alfabeto Σ:

LΣ*

Ejemplos

Los siguientes son Lenguajes sobre Σ = {0,1}

La = ∅, lenguaje finito vacío.
Lb = {ε}, lenguaje finito que contiene sólo la cadena vacía.
Lc = {0,1}, lenguaje finito que contiene sólo las cadenas de longitud 1.
Ld = {0,00,000,0000,...}, lenguaje infinito que consiste de cadenas con cualquier cantidad de símbolos 0.
Le = {0 n 1 n / n ≥ 1} = {01,0011,000111,00001111,...}, lenguaje infinito que consiste de cadenas que comienzan con una cantidad de símbolos 0, seguidos por la misma cantidad de símbolos 1

Operaciones sobre Lenguajes

Dados dos lenguajes La y Lb sobre el alfabeto Σ, se definen las siguientes operaciones cada una de las cuales produce un nuevo lenguaje sobre Σ:

Unión

La ∪ Lb = {ω ∈ Σ* / ω ∈ La ∨ ω ∈ Lb }

Intersección

La ∩ Lb = {ω ∈ Σ* / ω ∈ La ∧ ω ∈ Lb }

Diferencia

La - Lb = {ω ∈ Σ* / ω ∈ La ∧ ω ∉ Lb }

Complemento

-L = {ω ∈ Σ* / ω ∉ L }

Reverso

L R = {ωR / ω ∈ L }

Concatenación

La⋅Lb = { ω⋅η / ω, η ∈ Σ*, ω ∈ La ∧ η ∈ Lb }

Potenciación

L 0 = {ε}
L 1 = L
L k = L k-1⋅L

Clausura

L 0 ⊆ L *
L ⊆ L *
La,Lb ∈ L * ⇒ La⋅Lb ∈ L *

Propiedades

Si L, La, Lb, y Lc son lenguajes sobre Σ, entonces se cumple que:

  1. Elemento Neutro
    L⋅∅ = ∅ = ∅⋅L
  2. Asociativa de la Concatenación
    (La⋅Lb)⋅Lc = La⋅(Lb⋅Lc)
  3. Distributiva de la Concatenación respecto a la Unión
    La⋅(Lb∪Lc) = La⋅Lb ∪ La⋅Lc
Document generated by Confluence on Oct 04, 2010 11:25